package com.brand.mapper;

import com.brand.pojp.Brand;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

public interface BrandMapper {
    // 查询全部数据
    public List<Brand> selectAll();
    // 根据id获取详情
    public List<Brand> selectByIdBrand(int id);
    /* 多条件查询
    * 入参三种方式：
    *   1. 注解，散装入参
    *   public List<Brand> queryAllByCondition (@Param("status") int status, @Param("companyName") String companyName);
    *   2. 使用实体类
    *   public List<Brand> queryAllByCondition (Brand brand);
    *   3. 使用map
    * */

    //public List<Brand> queryAllByCondition (Brand brand);
    public List<Brand> queryAllByCondition (Map map);

    /*
    * 动态sql查询
    * */
    List<Brand> syncAutoAllByCondition (Brand brand);

    /*
    * 单条条件查询，如果没有任何参数则表示查询所有
    * */
    List<Brand> selectBySingle (Brand brand);

    /*
    * 添加
    * */
    void addItem(Brand brand);

    /*
    * 修改
    * */
    int updata(Brand brand);

    int anyUpdate(Brand brand);

    /*
    * 删除
    * */
    void delById(int id);
    //这里使用了注解后，mapper.xml就可以使用ids了，不然xml里必须使用默认名词 array
    void delByIds(@Param("ids") int[] ids);
    // 使用注解方式，快速开发简单的sql查询
    @Select("select * from tb_brand")
    List<Brand> selectAlls();
}
